

# 17.电话号码的字母组合

two = ['a','b','c']
three = ['d','e','f']
four = ['g','h','i']
five = ['j','k','l']
six = ['m','n','o']
seven = ['p','q','r','s']
eight = ['t','u','v']
nine = ['w','x','y','z']


def main(str):
    if digits == "":
        return []
    result = []
    temp = []
    length = len(str)
    def backtrack(str,index):
        if(len(temp) == length):
            result.append(temp[:])
            return
        if str[index] == '2':
            for i in range(0,len(two)):
                temp.append(two[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '3':
            for i in range(0,len(three)):
                temp.append(three[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '4':
            for i in range(0,len(four)):
                temp.append(four[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '5':
            for i in range(0,len(five)):
                temp.append(five[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '6':
            for i in range(0,len(six)):
                temp.append(six[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '7':
            for i in range(0,len(seven)):
                temp.append(seven[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '8':
            for i in range(0,len(eight)):
                temp.append(eight[i])
                backtrack(str,index+1)
                temp.pop()
        elif str[index] == '9':
            for i in range(0,len(nine)):
                temp.append(nine[i])
                backtrack(str,index+1)
                temp.pop()
    backtrack(str,0)
    for i in range(0,len(result)):
        result[i] = ''.join(result[i])
    return result

if __name__ == "__main__":
    str = input()
    result = main(str)
    print(result)